This invention relates to an image output system, an image processing system, an image output method, an image processing method, and a recording medium suitably used with a printer and its host computer.
(1) Purge Processing
To prepare a high-quality document by desktop publishing, there is a demand for making fonts used with a host computer and fonts output from a printer, etc., the same. However, a desired font may not be stored in ROM, etc., of the printer. Thus, as shown in FIG. 2, a method for a printer driver of the host computer to prepare raster data and supply the raster data to the printer is possible. However, such processing involves too large traffic between the host computer and the printer, thus the processing speed lowers.
In a related art example shown in FIG. 3, if a desired font exists only in a host computer and is not installed in ROM, etc., of the printer, font data in a bit map format, etc., is downloaded into the printer from the host computer. The downloaded font data is stored in cache memory in the printer.
As a large amount of font data is thus downloaded, the font data amount will exceed the storage capacity of the cache memory. In such a case, the data area of a font occurring with a low frequency at the present time is released to download new font data. This processing is called xe2x80x9cpurgexe2x80x9d processing. If necessary font data is stored in the cache memory, the host computer may feed a drawing command consisting of a font ID, character code, and a matrix when giving a font output instruction to the printer.
The font ID is identification code indicating the font type, such as roman, Gothic, or sans serif. The matrix is a conversion matrix used when a character is rotated or scaled. When receiving the drawing command, the printer reads the cache memory address specified by the font ID and the character code and executes conversion according to the matrix, then outputs the font to paper, etc.
On the other hand, if it is necessary to output a font not stored in the cache memory, the host computer needs to download font data before feeding the drawing command. Therefore, the host computer must keep track of the fonts stored in the cache memory. Generally, the host computer controls the printer by software called a printer driver and an algorithm of the purge processing is simulated by the printer driver.
(2) Page Description Language Processing
The drawing commands, etc., given from the host computer to the printer often follow a page description language (PDL) protocol. With PDL, graphic data of geometric figures, etc., and the font data can be supplied to the printer as required. Generally, a device-independent coordinate system is used for the graphic data; a device-dependent coordinate system is used for the font data in the bit map format, etc.
Therefore, when receiving device-independent graphic data, the printer performs matrix operations to convert the graphic data into a device-dependent coordinate system proper to the printer. To enhance general versatility of PDL, it is desirable to unify all data into a device-independent format. However, when matrix operations are performed for executing coordinate system conversion, it is inevitable that an image is a little degraded. Since the image degradation is noticeable particularly when a font is output, a device-independent coordinate system is often adopted for the font data, as described above.
(3) Rotation Processing
In the host computer, paper size and orientation (portrait or landscape) are specified for the printer; however, as shown in FIG. 1, the printer often changes the specified orientation in its own right, because if paper in the specified orientation is not provided in a tray, it is desirable to continue output if paper of the same size as specified and different in orientation exists rather than to output a xe2x80x9cpaper-outxe2x80x9d error, it is desirable to use paper in landscape orientation preferentially because the output speed in a lateral direction is faster than that in a longitudinal direction, etc.
A printer for writing raster data fed from the host computer directly into an output buffer is also available, but as shown in FIG. 5, cannot rotate font data.
If the paper orientation is changed, an output image needs also to be rotated 90xc2x0. At the time, font data and graphic data undergo different processing. First, since the graphic data has a device-independent format as described above, matrix operations must be performed if rotation processing is not required. Then, to perform rotation processing, the matrix may be changed so as to perform coordinate system conversion and rotation at the same time.
Therefore, if graphics only is output, the processing speed little changes even if the paper orientation is changed.
On the other hand, since the font data is in a device-dependent format, matrix operations are not performed if rotation or scaling processing is not required. Therefore, if the paper orientation is changed, additional matrix operations need to be performed. In general business documents, a sheet of paper contains several thousand characters and matrix operations must be performed on each character. Thus, if the paper orientation is changed, the processing speed lowers.
For example, like PostScript (registered trademark) of Adobe, an art for adopting a device-independent format for both font data and graphics data also exists. If the art is adopted, similar coordinate conversion can be executed for both the font data and graphics data, as shown in FIG. 4. Thus, processing in changing the paper orientation is integrated into single coordinate conversion processing. However, the processing speed drastically lowers and it becomes difficult to output a high-quality image, as described above.
In the above-described art, the host computer needs to simulate the algorithm of purge processing performed in the printer. In other words, the host computer and the printer must perform the same processing, thus the resources are wasted.
Normally, the host computer and the printer use different types of CPUs, thus it is difficult to cause them to perform completely the same processing. That is, even if the purge processing contents are described in the same source code, if rounding errors, etc., of both CPUs differ, purged fonts become different. Resultantly, a font not intended by the user is output.
It is therefore an object of the invention to provide an image output system, an image processing system, an image output method, an image processing method, and a recording medium capable of using resources effectively and performing precise processing.
To the end, according to a first aspect of the invention, there is provided an image output system comprising cache memory for storing drawing data, input means for receiving an input command of a drawing command or a write command containing address information and drawing data from the outside, command type determination means for determining whether an input command fed into the input means is the drawing command or the write command, write means for writing the drawing data into the cache memory based on the address information if the command type determination means determines that the input command is the write command, and drawing means for drawing based on the drawing command if the command type determination means determines that the input command is the drawing command.
According to a second aspect of the invention, there is provided an image processing system for feeding drawing data into an image output system having cache memory, the image processing system comprising drawing data output means for outputting the drawing data, a cache management table for managing the contents of the cache memory, cache determination means for determining whether or not the drawing data is stored in the cache memory based on the contents of the cache management table, and data output means, if the cache determination means determines that the drawing data is not stored, for outputting a write command containing address information and drawing data and then outputting the drawing data.